elasticsearch的join查询

您所在的位置:网站首页 elasticsearch join查询 elasticsearch的join查询

elasticsearch的join查询

2023-07-19 23:48| 来源: 网络整理| 查看: 265

1.概述

官方文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/joining-queries.html

两种类型的查询

嵌套查询

has_child和has_parent

其中,has_child返回包含特定查询字段文档的父文档;

has_parent返回包含特定查询字段的父文档的子文档。

 

2.实例

2.1 嵌套查询

GET /_search { "query": { "nested" : { "path" : "obj1", "score_mode" : "avg", "query" : { "bool" : { "must" : [ { "match" : {"obj1.name" : "blue"} }, { "range" : {"obj1.count" : {"gt" : 5}} } ] } } } } }

2.2 has_child 查询

GET /_search { "query": { "has_child" : { "type" : "blog_tag", "query" : { "term" : { "tag" : "something" } } } } }

2.3 has_parent 

GET /_search { "query": { "has_parent" : { "parent_type" : "blog", "query" : { "term" : { "tag" : "something" } } } } }

2.4 parent_id 查询

 

PUT my_index { "mappings": { "_doc": { "properties": { "my_join_field": { "type": "join", "relations": { "my_parent": "my_child" } } } } } } PUT my_index/_doc/1?refresh { "text": "This is a parent document", "my_join_field": "my_parent" } PUT my_index/_doc/2?routing=1&refresh { "text": "This is a child document", "my_join_field": { "name": "my_child", "parent": "1" } }

 

 

GET /my_index/_search { "query": { "parent_id": { "type": "my_child", "id": "1" } } }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3